package com.fos.BluetoothStory.util;

/**
 * BTR指令
 */
public class BTR {

	// 包确认符：是回应命令对包接收的信息是否正确的判断
	public static final int		RECIEVE_DATA_OK					= 0x55; // 接收数据正确
	public static final int		RECIEVE_DATA_FAILED				= 0xAA; // 接收数据出错
	public static final int		RECIEVE_DATA_INVALID			= 0xAB; // 当前状态下用户数据或者命令无效（如，1、在蓝牙立体音下获取T卡列表）
	public static final int		RECIEVE_DATA_UNSUPPORT			= 0xAC;	// 不支持的用户数据或者命令（如，不支持FM功能的板子切换到FM 工作模式、获取 FM 列表等） 工作模式 1bit
	public static final byte	BTR_MODE_BLUE					= 0x00;	// 蓝牙工作模式
	public static final byte	BTR_MODE_USB					= 0x01;	// USB Host 工作模式
	public static final byte	BTR_MODE_LINE					= 0x02;	// LINE  IN 工作模式
	public static final byte	BTR_MODE_SD						= 0x03;	// SD 工作模式
	public static final byte	BTR_MODE_UAC					= 0x04;	// UAC 工作模式
	public static final byte	BTR_MODE_FM						= 0x05;	// FM 工作模式

	// 音量大小 1bit
	// 音量取值范围0-15

	// 播放状态 1bit
	public static final byte	PLAY_STATUS_PLAY				= 0x00;	// 播放暂停状态
	public static final byte	PLAY_STATUS_START				= 0x01;	// 为开始播放

	// EQ 模式 1bit
	public static final byte	_SD_EQ_MODE_NORMAL				= 0X00;
	public static final byte	_SD_EQ_MODE_CLASSIC				= 0x01;
	public static final byte	_SD_EQ_MODE_JAZZ				= 0x02;
	public static final byte	_SD_EQ_MODE_POP					= 0x03;
	public static final byte	_SD_EQ_MODE_ROCK				= 0x04;
	public static final byte	_SD_EQ_MODE_EXBASS				= 0x05;
	public static final byte	_SD_EQ_MODE_SOFT				= 0x06;

	// 用户自定义EQ
	// 模式（1byte）+增益（2byte）+用户自定义信息
	// 用户自定义信息说明：EQ_num(2byte,取值
	// 1~6)+bandfreqs[6](4*6byte,取值20~20000)+bandgains[6](2*6byte,取值-12~12)+EQ_value[6](2*6byte,0~8*1024)+filter_type[6](2*6,取值
	// 1~5);

	// 播放状态 1bit
	public static final byte	PLAY_MODE_PLAY					= 0x00;	// 正常播放
	public static final byte	PLAY_MODE_SINGLE				= 0x01;	// 单曲循环
	public static final byte	PLAY_MODE_LOOP					= 0x02;	// 循环播放
	public static final byte	PLAY_MODE_RANDOM				= 0x03;	// 随机播放

	// 设备电压（2byte）；获取的电压值以毫伏为单位
	/**
	 * 关机电压：3450mV 低电电压：3550mV 满电电压：4200mV
	 */

	// 音乐播放快进/快退状态
	public static final byte	PLAY_BACK_FORWARD_STATE_FORWARD	= 0x00;	// 快进
	public static final byte	PLAY_BACK_FORWARD_STATE_BACK	= 0x01;	// 快退
	public static final byte	PLAY_BACK_FORWARD_STATE_NORMAL	= 0x02;	// 正常播放

	// 设置上下曲
	public static final byte	BTR_SET_LAST					= 0x00; // 上一曲
	public static final byte	BTR_SET_NEXT					= 0x01; // 下一曲

	// T卡状态
	public static final byte	BTR_TF_STATUS_INSERT			= 0x00; // T 卡插入
	public static final byte	BTR_TF_STATUS_LOST				= 0x00; // T 卡拔出

	// 命令数据类型

	// 包头 1byte 0x11
	// 包长度 2byte
	// 命令编码 1byte 0x02
	// 命令信息 1byte
	// 用户数据长度 2byte
	// 用户数据
	// 校验和 2byte
	// 包尾 1byte 0x12

	/**
	 * 设置工作模式,命令编码0x42 11 07 00 42 00 01 00 00 5B 00 12
	 */

	/**
	 * 协商编码序列命令：命令编码=0x02 用户信息格式：命令列表总数（1type）+命令编码的序列（对应命令列表枚举）
	 */
	// 回应命令 1105020255007012

	// 包头 1byte 0x11
	// 包长度 2byte 0x05
	// 命令编码 1byte 0x02
	// 命令信息 1byte 0x02
	// 包确认标识符 1byte 0x55
	// 用户数据
	// 校验和 2byte 0x70 0x00
	// 包尾 1byte 0x12
}
